236

|

6 Applications and Methods in Biosignal Processing

subplot(6,1,4)

%calc second derivative

ddyddx = gradient(dydx) ./ gradient(filt_time_angle);

BA = find(ddyddx(1:end-1)>0 & ddyddx(2:end) < 0); %find maxima

BB = find(ddyddx(1:end-1) <0 & ddyddx(2:end) > 0); %find minima

plot((filt_time_angle), filt_angle,'k-')

hold on

%plot(time_angle(1:length(ddyddx)),ddyddx, 'k:')

scatter(filt_time_angle(BA), filt_angle(BA), 100, 'kx') %display ...

maxima

scatter(filt_time_angle(BB), filt_angle(BB), 100, 'kx') %display ...

minima

xlabel('Time t/s')

ylabel('Angle \alpha/deg')

axis([0 9 0 200])

title('Second Derivative Zeros in Angle Data')

subplot(6,1,5)

%calc first derivative

dval = gradient(filt_force) ./ gradient(filt_time_force);

CA = find(dval(1:end-1)>0 & dval(2:end) < 0); %find maxima

CB = find(dval(1:end-1) <0 & dval(2:end) > 0); %find minima

plot(filt_time_force, filt_force, 'k-')

hold on

%plot(time_force(1:length(dval(11:end))), dval(11:end), 'k:')

scatter(filt_time_force(CA), filt_force(CA), 100, 'kx') %display ...

maxima

scatter(filt_time_force(CB), filt_force(CB), 100, 'kx') %display ...

minima

xlabel('Time t/s')

ylabel('Force F/N')

axis([0 10 250 500])

title('First Derivative Zeros in Force Data')

subplot(6,1,6)

%calc second derivative

ddval = gradient(dval)./ gradient(filt_time_force);

DA = find(ddval(1:end-1)>0 & ddval(2:end) < 0); %find maxima

DB = find(ddval(1:end-1) <0 & ddval(2:end) > 0); %find minima

plot(filt_time_force, filt_force, 'k-')

hold on